Definition (unpredictability)

Given a function f:{0,1}n{0,1}mf: \{0,1\}^n \to \{0,1\}^m, a predicate h:{0,1}n{0,1}h : \{0,1\}^n \to \{0,1\} is a hard-core predicate for ff if